#pragma once
#include "../Utilities/utilities.h"

class PickingRay
{
public:
	Vector3 clickPosInWorld;
	Vector3 direction;
	//Vector3 inv_dir;
	//int sign[3];

	PickingRay()
	{
		clickPosInWorld.x = 0;
		clickPosInWorld.y = 0;
		clickPosInWorld.z = 0;
		direction.x = 0;
		direction.y = 0;
		direction.z = 0;
	}

	inline Vector3 getClickPosInWorld() { return clickPosInWorld; }
	inline Vector3 getDirection() { return direction; }

	inline void setClickPosInWorld(Vector3 clickPosInWorld) { this->clickPosInWorld = clickPosInWorld; }

	inline void setDirection(Vector3 direction) {
		this->direction = direction;
		//this->inv_dir = Vector3(1.0f / direction.x, 1.0f / direction.y, 1.0f / direction.z);

		//sign[0] = (inv_dir.x < 0);
		//sign[1] = (inv_dir.y < 0);
		//sign[2] = (inv_dir.z < 0);
	}
};